This specification relates to fast switching of media streams.
In some instances, a media playing computer cannot render video without dropping frames because, for example, of a decrease in available central processing unit (CPU)-resources. A video encoded at a lower bit-rate can be requested by the media playing computer to avoid dropping video frames while the available CPU-resources are low. However, the media playing computer may have to play the full buffer before the lower quality video can be received and played. In other instances, a media player may play a low quality video in windowed mode. When switching from windowed mode playback to playback in full-screen mode, the media player can request a video having a larger frame size and being encoded at a larger bit-rate. Once again, the newly requested higher quality video can be seen by a user of the media player only after the media player plays out the entire duration of the buffer which stores the video encoded at the lower bit-rate corresponding to the low-resolution windowed mode.
Both situations described above can lead to non-smooth, less then desirable viewing experiences that can last for the duration of the buffer. The duration of the buffered content can be, for some media players, on the order of one minute or more. To avoid prolonged disruptive viewing experiences as described above, other media players operate with short video buffers, having time durations on the order of a few seconds. However, media players that operate with such short video buffers can experience buffer under-runs leading to non-smooth viewing experiences.